home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / game / shoot / ADescentSrc.lha / descent / includes / collide.h < prev    next >
C/C++ Source or Header  |  1998-03-03  |  5KB  |  140 lines

  1. /*
  2. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  3. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  4. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  5. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  6. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  7. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  8. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  9. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  10. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  11. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  12. */
  13. /*
  14.  * $Source: /usr/CVS/descent/includes/collide.h,v $
  15.  * $Revision: 1.1.1.1 $
  16.  * $Author: nobody $
  17.  * $Date: 1998/03/03 15:11:53 $
  18.  * 
  19.  * .
  20.  * 
  21.  * $Log: collide.h,v $
  22.  * Revision 1.1.1.1  1998/03/03 15:11:53  nobody
  23.  * reimport after crash from backup
  24.  *
  25.  * Revision 1.1.1.1  1998/02/13  20:20:18  hfrieden
  26.  * Initial Import
  27.  *
  28.  * Revision 2.0  1995/02/27  11:28:59  john
  29.  * New version 2.0, which has no anonymous unions, builds with
  30.  * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
  31.  * 
  32.  * Revision 1.23  1995/01/26  22:11:47  mike
  33.  * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
  34.  * 
  35.  * Revision 1.22  1994/12/21  19:03:24  rob
  36.  * Fixing score accounting for multiplayer robots
  37.  * 
  38.  * Revision 1.21  1994/12/21  11:34:56  mike
  39.  * make control center take badass damage.
  40.  * 
  41.  * Revision 1.20  1994/10/29  16:53:16  allender
  42.  * added check_effect_blowup for demo recording to record monitor explosions
  43.  * 
  44.  * Revision 1.19  1994/10/09  13:46:48  mike
  45.  * Make public collide_player_and_powerup.
  46.  * 
  47.  * Revision 1.18  1994/10/05  14:54:29  rob
  48.  * Added serial game support in control center sequence..
  49.  * 
  50.  * Revision 1.17  1994/09/15  16:32:12  mike
  51.  * Prototype collide_player_and_nasty_robot.
  52.  * 
  53.  * Revision 1.16  1994/09/11  15:49:04  mike
  54.  * Prototype for maybe_detonate_weapon.
  55.  * 
  56.  * Revision 1.15  1994/09/09  14:20:07  matt
  57.  * Added prototype for scrape function
  58.  * 
  59.  * Revision 1.14  1994/09/02  14:00:44  matt
  60.  * Simplified explode_object() & mutliple-stage explosions
  61.  * 
  62.  * Revision 1.13  1994/08/18  10:47:35  john
  63.  * Cleaned up game sequencing and player death stuff
  64.  * in preparation for making the player explode into
  65.  * pieces when dead.
  66.  * 
  67.  * Revision 1.12  1994/08/17  16:50:08  john
  68.  * Added damaging fireballs, missiles.
  69.  * 
  70.  * Revision 1.11  1994/08/03  16:45:31  mike
  71.  * Prototype a function.
  72.  * 
  73.  * Revision 1.10  1994/08/03  15:17:41  mike
  74.  * make matcen whack on you if it's ready to make a robot.
  75.  * 
  76.  * Revision 1.9  1994/07/22  12:08:03  mike
  77.  * Make robot hit vclip and sound weapon-based until robot dies, then robot-based.
  78.  * 
  79.  * Revision 1.8  1994/07/09  17:36:31  mike
  80.  * Prototype apply_damage_to_robot.
  81.  * 
  82.  * Revision 1.7  1994/07/09  13:20:36  mike
  83.  * Prototype apply_damage_to_player.
  84.  * 
  85.  * Revision 1.6  1994/06/20  23:35:52  john
  86.  * Bunch of stuff.
  87.  * 
  88.  * Revision 1.5  1994/06/17  18:04:03  yuan
  89.  * Added Immaterialization...
  90.  * Fixed Invulnerability to allow being hit.
  91.  * 
  92.  * Revision 1.4  1994/05/13  20:28:02  john
  93.  * Version II of John's new object code.
  94.  * 
  95.  * Revision 1.3  1994/05/13  12:20:35  john
  96.  * Fixed some potential problems with code using global variables
  97.  * that are set in fvi. 
  98.  * 
  99.  * Revision 1.2  1994/05/12  23:20:32  john
  100.  * Moved all object collision handling into collide.c.
  101.  * 
  102.  * Revision 1.1  1994/05/12  20:39:09  john
  103.  * Initial revision
  104.  * 
  105.  * 
  106.  */
  107.  
  108.  
  109.  
  110. #ifndef _COLLIDE_H
  111. #define _COLLIDE_H
  112.  
  113. void collide_init();
  114. void collide_two_objects( object * A, object * B, vms_vector *collision_point );
  115. void collide_object_with_wall( object * A, fix hitspeed, short hitseg, short hitwall, vms_vector * hitpt );
  116. extern void apply_damage_to_player(object *player, object *killer, fix damage);
  117.  
  118. //    Returns 1 if robot died, else 0.
  119. extern int apply_damage_to_robot(object *robot, fix damage, int killer_objnum);
  120.  
  121. extern int Immaterial;
  122.  
  123. extern void collide_player_and_weapon( object * player, object * weapon, vms_vector *collision_point );
  124. extern void collide_player_and_materialization_center(object *objp);
  125. extern void collide_robot_and_materialization_center(object *objp);
  126.  
  127. extern scrape_object_on_wall(object *obj, short hitseg, short hitwall, vms_vector * hitpt );
  128. extern int maybe_detonate_weapon(object *obj0p, object *obj, vms_vector *pos);
  129.  
  130. extern void collide_player_and_nasty_robot( object * player, object * robot, vms_vector *collision_point );
  131.  
  132. extern void net_destroy_controlcen(object *controlcen);
  133. extern void collide_player_and_powerup( object * player, object * powerup, vms_vector *collision_point );
  134. extern int check_effect_blowup(segment *seg,int side,vms_vector *pnt);
  135. extern void apply_damage_to_controlcen(object *controlcen, fix damage, short who);
  136. extern void bump_one_object(object *obj0, vms_vector *hit_dir, fix damage);
  137.  
  138.  
  139. #endif
  140.